package com.xoa.service.BBS;

import com.xoa.model.BBS.BbsCommentWithBLOBs;
import com.xoa.util.ToJson;

import javax.servlet.http.HttpServletRequest;

public interface BbsCommentService {

    /**
     * 添加帖子
     * @return
     */
    ToJson insertSelective(HttpServletRequest request,BbsCommentWithBLOBs record);

    /**
     * 修改帖子
     * @param record
     * @return
     */
    ToJson updateByPrimaryKeySelective(HttpServletRequest request,BbsCommentWithBLOBs record);

    /**
     * 删除帖子
     */
    ToJson deleteAnyById(Integer [] commentIds);

    /**
     * 查询最后发布人得信息
     * @param boardId
     * @return
     */
    ToJson selLastPublicPerson (int boardId);

    /**
     * 查询对应讨论区中得帖子
     * @param boardId
     * @return
     */
    ToJson selAllCommentById( Integer boardId,Integer page,Integer limit);


    /**
     * 查询讨论区帖子审核
     * @param boardId
     * @return
     */
    ToJson selReview( HttpServletRequest request,Integer boardId,Integer page,Integer limit);

    /**
     * 讨论区搜索功能
     * @param record
     * @return
     */
    ToJson  selByCon(BbsCommentWithBLOBs record);

    /**
     * 查询文章数量
     * @param
     * @return
     */
    ToJson selTextNums();
    /**
     * 删除回复
     * @param parent
     * @return
     */
    ToJson deleteByParent(Integer[] parent);

    /**
     * 查询单个帖子内容及回复
     * @return
     */
    ToJson selContentAndReply(HttpServletRequest request,Integer commentId);

    /**
     * 删除单个的评论
     * @param commentId
     * @return
     */
    ToJson deleteByPrimaryKey(Integer commentId);

    /**
     * 查询热门文章
     * @return
     */
    ToJson<BbsCommentWithBLOBs> selHotPost();

    //转移主题
    ToJson findTransfer(Integer boardId);

    //批量修改审批状态
    ToJson updatebatch(HttpServletRequest request, Integer[] ids, Integer isCheck);

    //通用批量修改状态
    ToJson updatefine(HttpServletRequest request, String[] ids, String field, String status);

    //查询文章的父级和子级
    ToJson selectById(HttpServletRequest request, Integer id);

    //转移主题接口
    ToJson updateTransfer(Integer[] commentId, Integer boardId);
}
